#pragma once
namespace RenderSystem
{
	class HardwareBuffer;
	class VertexBuffer;
	class IndexBuffer;
	class PixelBuffer;
	class Renderer;

	class HardwareBufferManager
	{
	public:

		//Pool the memory buffer
		typedef std::vector< HardwareBuffer* >	Buffers;
		typedef Buffers::iterator				BuffersIterator;

		HardwareBufferManager( Renderer* pRenderer );
		~HardwareBufferManager(void);

		virtual VertexBuffer* CreateVertexBuffer( void );
		virtual IndexBuffer* CreateIndexBuffer( void );

	protected:

		Renderer*				m_pRenderer;
	};

}